package com.prp.gwt.client.user.article;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.prp.gwt.client.ClientException;
import com.prp.gwt.client.vo.CommentList;
import com.prp.gwt.client.vo.Entity;
import com.prp.gwt.client.vo.EntityList;
import com.prp.gwt.client.vo.SubjectCategoryList;
import com.prp.gwt.client.vo.SubjectChildCategoryList;
import com.prp.gwt.client.vo.SubjectRecommend;
import com.prp.gwt.client.vo.SubjectRecommendList;

@RemoteServiceRelativePath("articleRequest")
public interface ArticleService extends RemoteService{
	public EntityList search(String keyword) throws ClientException;
	public SubjectChildCategoryList getSubjectChildCategoryList(int categoryId) throws ClientException;
	public SubjectCategoryList getSubjectCategoryList() throws ClientException;
	public com.prp.gwt.client.vo.Entity createEntity(int childCategoryId, String entityName) throws ClientException;
	public SubjectRecommendList getSubjectRecommendList(int entityId) throws ClientException;
	public SubjectRecommend getSubjectRecommend(int id) throws ClientException;
	public Entity getEntity(int entityId) throws ClientException; 
	public CommentList getCommentList(int subjectId) throws ClientException;
	public void addComment(int subjectId, String content, int score) throws ClientException;
	public int createRecommend(int entityId, String title, String content) throws ClientException;
	public EntityList getEntityList(int childCategoryId) throws ClientException;
	public SubjectRecommendList getTopRecommend() throws ClientException;
	public EntityList getTopEntity() throws ClientException;
	public EntityList getRecentEntity() throws ClientException;
	public void addOneClick(int subjectId) throws ClientException;
	public void deleteSubjectRecommendation(int subjectId) throws ClientException;
}
